Un articulo de
Nicolas Gallagher nos proporciona la técnica y algunos aspectos para conseguir sombras sin imágenes. Esto es un pequeño ejemplo:
En Blogger para utilizar las sombras sin imagen primeramente añadimos los estilos de la sombra, se añadirá justo antes de
]]></b:skin> y a partir de ahí el estilo de sombra que deseamos mostrar.
.drop-shadow {
position:relative;
float:left;
width:40%;
padding:1em;
margin:2em 10px 4em;
background:#fff;
-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 60px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
.drop-shadow:before,
.drop-shadow:after {
content:"";
position:absolute;
z-index:-2;
}
.drop-shadow p {
text-align:center;
font-size:16px;
font-weight:bold;
}
A continuación añadimos los estilos según el modelo que vamos a añadir:
Lifted corners
/* Lifted corners */
.lifted {
-moz-border-radius:4px;
border-radius:4px;
}
.lifted:before,
.lifted:after {
bottom:15px;
left:10px;
width:50%;
height:20%;
max-width:300px;
-webkit-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
-moz-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-ms-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
}
.lifted:after {
right:10px;
left:auto;
-webkit-transform:rotate(3deg);
-moz-transform:rotate(3deg);
-ms-transform:rotate(3deg);
-o-transform:rotate(3deg);
transform:rotate(3deg);
}
Curled corners
/* Curled corners */
.curled {
border:1px solid #efefef;
-moz-border-radius:0 0 120px 120px / 0 0 6px 6px;
border-radius:0 0 120px 120px / 0 0 6px 6px;
}
.curled:before,
.curled:after {
bottom:12px;
left:10px;
width:50%;
height:55%;
max-width:200px;
-webkit-box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
-moz-box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
box-shadow:0 8px 12px rgba(0, 0, 0, 0.5);
-webkit-transform:skew(-8deg) rotate(-3deg);
-moz-transform:skew(-8deg) rotate(-3deg);
-ms-transform:skew(-8deg) rotate(-3deg);
-o-transform:skew(-8deg) rotate(-3deg);
transform:skew(-8deg) rotate(-3deg);
}
.curled:after {
right:10px;
left:auto;
-webkit-transform:skew(8deg) rotate(3deg);
-moz-transform:skew(8deg) rotate(3deg);
-ms-transform:skew(8deg) rotate(3deg);
-o-transform:skew(8deg) rotate(3deg);
transform:skew(8deg) rotate(3deg);
}
Perspective
/* Perspective */
.perspective:before {
left:80px;
bottom:5px;
width:50%;
height:35%;
max-width:200px;
-webkit-box-shadow:-80px 0 8px rgba(0, 0, 0, 0.4);
-moz-box-shadow:-80px 0 8px rgba(0, 0, 0, 0.4);
box-shadow:-80px 0 8px rgba(0, 0, 0, 0.4);
-webkit-transform:skew(50deg);
-moz-transform:skew(50deg);
-ms-transform:skew(50deg);
-o-transform:skew(50deg);
transform:skew(50deg);
-webkit-transform-origin:0 100%;
-moz-transform-origin:0 100%;
-ms-transform-origin:0 100%;
-o-transform-origin:0 100%;
transform-origin:0 100%;
}
.perspective:after {
display:none;
}
Raised box
/* Raised shadow - no pseudo-elements needed */
.raised {
-webkit-box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
Rotated box
/* Rotated box */
.rotated {
-webkit-box-shadow:none;
-moz-box-shadow:none;
box-shadow:none;
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-ms-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
transform:rotate(-3deg);
}
.rotated > :first-child:before {
content:"";
position:absolute;
z-index:-1;
top:0;
bottom:0;
left:0;
right:0;
background:#fff;
-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
}
Guardamos los cambios y nos situamos justo donde deseamos mostrar nuestro efecto sombra (entrada, plantilla o gadget de HTML) y añadimos lo siguiente:
Lifted corners
<div class="drop-shadow lifted">
<p>TEXTO</p>
</div>
Curled corners
<div class="drop-shadow curled">
<p>TEXTO</p>
</div>
Perspective
<div class="drop-shadow perspective">
<p>TEXTO</p>
</div>
Raised box
<div class="drop-shadow raised">
<p>TEXTO</p>
</div>
Rotated box
<div class="drop-shadow lifted rotated">
<p>TEXTO</p>
</div>
Se visualiza en Firefox 3.5 +, 5 + Chrome, Safari 5 +, Opera 10.6 +, IE 9 +
Es una lastima que no se vea en IE 7 o 8 ya que para el 9 falta para que lo tenga, ya que por ahora sigo con mi querido XP.
Muy buena entrada Gema, a mi me encantan las sombras y sería bueno poder quitar imágenes.
Me encantan de verdad Gema!, son muy prácticos y bonitos, ya que no necesitas ir al editor de imágenes a crearlos, sin embargo ya sabes como es IE, y aunque IE9 ya soporta esas propiedades, también sabemos que la gente no se actualiza tan rápido como a ti y a mi nos gustaría
, tal vez los que tenemos blogs sí, pero en términos generales, desafortunadamente no.
Salu2!
Estimada Gema:
Ha sido todo un regalo. Ya puedes ver una muestra en mi web: www.cinehistoria.com. ¡Gloria al CSS!.
Gracias,
Tomás.
Se ven geniales, lastima que necesita las ultimas versiones de los navegadores, para que nuestro blog se vea perfecto en cualquier maquina.
Por el momento mejor crearlos con Photoshop, ojala y un dia los navegadores se pongan de acuerdo en estandarizarse, pero eso es solo una utopía.
Te digo Gemma que lastima porque muchas personas no actualizan de inmediato sus navegadores como lo hariamos nosotros y cuando vean tu blog, simplemente se encontrarian con que no se ve nada o lo poco que se ve se muestra incorrecto.
Por eso hay que darle tiempo a que los usuarios actualizen sus navegadores para poder aplicar todas esas cosas que aun no funcionan en todos los navegadores, sobre todo IExplore, que es nuestro dolor de cabeza como diseñadores de blogs.
Pero el tiempo se pasa rapido, eso es lo bueno.
Eso me hace pensar que nos preocupa más el que las visitas vean bien nuestro blog antes que verlo bien nosotros y pienso que es un error, está bien que todo lo veamos lo mejor posible pero no hay que darle prioridad a los demás en ese sentido primero porque se trata de nuestro blog y segundo porque no está a nuestro alcance concienciar a todo el mundo de los beneficios de actualizar.
Reconozco que intento que mi blog se vea bien con IE pero nunca, por mucho que cueste creerlo compruebo si se ve bien en otros navegadores que no sean Firefox y como te decía IE ¿por qué? simplemente porque sería volverme loca y vivir pendiente de algo que no me quita el sueño
Tienes muchisima razon Gemma no lo habia visto de esa forma. Feliz fin de semana.
Hola! Sos una capa, estoy re sorprendida! Una pregunta, como hago los efectos a las imagenes como tenes en la parte de abajo de tu blog? Las imagenes de la esquina derecha, ESE EFECTO! Si podes explicarme, te estaria más que agradecida!
http://vagabundia.blogspot.com/2010/11/girando-las-cosas-con-css.html
Hay posibilidad de que puedan subir un ejemplo de todos en un ZIP o un RAR.? Muchísimas gracias, y excelente el sitio.
Acá les dejo el link, del código completo que deben pegar en una hoja HTML. Saludos
http://codepad.org/lMTAV7pf
Nota: solo los miembros de este blog pueden publicar comentarios.